home *** CD-ROM | disk | FTP | other *** search
- package javax.swing.text.html;
-
- import java.awt.FontMetrics;
- import java.awt.Shape;
- import java.text.BreakIterator;
- import javax.swing.event.DocumentEvent;
- import javax.swing.text.AttributeSet;
- import javax.swing.text.BadLocationException;
- import javax.swing.text.Document;
- import javax.swing.text.Element;
- import javax.swing.text.LabelView;
- import javax.swing.text.View;
- import javax.swing.text.ViewFactory;
- import javax.swing.text.html.CSS.Attribute;
-
- public class InlineView extends LabelView {
- AttributeSet attr;
-
- public InlineView(Element var1) {
- super(var1);
- StyleSheet var2 = this.getStyleSheet();
- this.attr = var2.getViewAttributes(this);
- }
-
- public void changedUpdate(DocumentEvent var1, Shape var2, ViewFactory var3) {
- super.changedUpdate(var1, var2, var3);
- StyleSheet var4 = this.getStyleSheet();
- this.attr = var4.getViewAttributes(this);
- ((View)this).preferenceChanged((View)null, true, true);
- }
-
- public AttributeSet getAttributes() {
- return this.attr;
- }
-
- float getLongestWordSpan() {
- float var1 = 0.0F;
-
- try {
- Document var2 = ((View)this).getDocument();
- int var3 = ((View)this).getStartOffset();
- int var4 = ((View)this).getEndOffset();
- String var5 = var2.getText(var3, var4 - var3);
- int var6 = var3;
- int var7 = var3;
- if (var5 != null && var5.length() > 0) {
- BreakIterator var8 = BreakIterator.getWordInstance();
- var8.setText(var5);
- int var9 = var8.first();
-
- for(int var10 = var8.next(); var10 != -1; var10 = var8.next()) {
- if (var10 - var9 > var7 - var6) {
- var6 = var9;
- var7 = var10;
- }
-
- var9 = var10;
- }
- }
-
- if (var7 - var6 > 0) {
- FontMetrics var12 = ((LabelView)this).getFontMetrics();
- String var13 = var5.substring(var6, var7);
- var1 = (float)var12.stringWidth(var13);
- }
- } catch (BadLocationException var11) {
- }
-
- return var1;
- }
-
- protected StyleSheet getStyleSheet() {
- HTMLDocument var1 = (HTMLDocument)((View)this).getDocument();
- return var1.getStyleSheet();
- }
-
- protected void setPropertiesFromAttributes() {
- super.setPropertiesFromAttributes();
- AttributeSet var1 = this.getAttributes();
- Object var2 = var1.getAttribute(Attribute.TEXT_DECORATION);
- boolean var3 = var2 != null ? var2.toString().indexOf("underline") >= 0 : false;
- ((LabelView)this).setUnderline(var3);
- boolean var4 = var2 != null ? var2.toString().indexOf("line-through") >= 0 : false;
- ((LabelView)this).setStrikeThrough(var4);
- Object var5 = var1.getAttribute(Attribute.VERTICAL_ALIGN);
- var4 = var5 != null ? var5.toString().indexOf("sup") >= 0 : false;
- ((LabelView)this).setSuperscript(var4);
- var4 = var5 != null ? var5.toString().indexOf("sub") >= 0 : false;
- ((LabelView)this).setSubscript(var4);
- }
- }
-